package com.newly.common.base.entity.business.Po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;

/**
* @anthor sbq
* @date 2021/10/25 11:26
*/
@Data
@TableName(value = "gov_vehicle")
public class Vehicle implements Serializable {
    /**
     * id主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 车牌号码
     */
    @TableField(value = "vehicle_number")
    private String vehicleNumber;

    /**
     * 道路运输证号码
     */
    @TableField(value = "road_transport_number")
    private String roadTransportNumber;

    /**
     * 所属人员id - 暂时不维护
     */
    @TableField(value = "user_belong")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long userBelong;

    /**
     * 所属企业id - 暂不维护
     */
    @TableField(value = "enterprise_belong")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long enterpriseBelong;

    /**
     * 所属企业名称
     */
    @TableField(value = "company_name")
    private String companyName;

    /**
     * 荷载（单位待定）
     */
    @TableField(value = "load_capacity")
    private Double loadCapacity;

    /**
     * 车轴数
     */
    @TableField(value = "axle_count")
    private Integer axleCount;

    /**
     * 车型（定义方式待定）
     */
    @TableField(value = "vehicle_type")
    private String vehicleType;

    /**
     * 皮重（单位待定）
     */
    @TableField(value = "tare")
    private Double tare;

    /**
     * 卡号 
     */
    @TableField(value = "card_number")
    private String cardNumber;

    /**
     * 车辆颜色
     */
    @TableField(value = "color")
    private String color;

    /**
     * 有效期至
     */
    @TableField(value = "expire_date")
    private String expireDate;

    /**
     * 0-正常 1-已删除
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    /**
     * 车辆状态 0-正常 1-异常
     */
    @TableField(value = "state")
    private Integer state;

    /**
     * 是否为黑名单1-是 2-否
     */
    @TableField(value = "black_name")
    private Integer blackName;

    /**
     * 网关车辆黑名单索引
     */
    @TableField(value = "black_index")
    private String blackIndex;

    /**
     * 是否是重点车辆1是  2否
     */
    @TableField(value = "major")
    private Boolean major;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 创建人id
     */
    @TableField(value = "create_user")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long createUser;

    /**
     * 车辆联系人姓名
     */
    @TableField(value = "contacts_name")
    private String contactsName;

    /**
     * 车辆联系人手机号
     */
    @TableField(value = "contacts_phone")
    private String contactsPhone;

    /**
     * 车辆联系人身份证
     */
    @TableField(value = "contacts_id_card")
    private String contactsIdCard;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private String createTime;

    private static final long serialVersionUID = 1L;

    public static final String COL_ID = "id";

    public static final String COL_VEHICLE_NUMBER = "vehicle_number";

    public static final String COL_ROAD_TRANSPORT_NUMBER = "road_transport_number";

    public static final String COL_USER_BELONG = "user_belong";

    public static final String COL_ENTERPRISE_BELONG = "enterprise_belong";

    public static final String COL_LOAD = "load";

    public static final String COL_AXLE_COUNT = "axle_count";

    public static final String COL_VEHICLE_TYPE = "vehicle_type";

    public static final String COL_TARE = "tare";

    public static final String COL_CARD_NUMBER = "card_number";

    public static final String COL_EXPIRE_DATE = "expire_date";

    public static final String COL_BLACK_NAME = "black_name";

    public static final String COL_MAJOR = "major";

    public static final String COL_CREATE_USER = "create_user";

    public static final String COL_CREATE_TIME = "create_time";
}